﻿' LibWowArmory
' by Ronald M. Clifford (roncli@roncli.com)
'
' This source code is released under the GNU Library General Public License (LGPL) Version 2.1.

Namespace roncliProductions.LibWowArmory.Item.Info

    ''' <summary>
    ''' A class that encapsulates a disenchanted item
    ''' </summary>
    ''' <remarks></remarks>
    Public Class DisenchantItem

        ''' <summary>
        ''' The approximate drop rate of the disenchanted material
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property DropRate As Enums.DropRateType

        ''' <summary>
        ''' The filename of the disenchanted material's icon
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Icon As String

        ''' <summary>
        ''' The item ID of the disenchanted material
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property ItemID As Integer

        ''' <summary>
        ''' The item level of the disenchanted material
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Level As Integer

        ''' <summary>
        ''' The maximum quantity of material the item can be disenchanted into
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property MaxCount As Integer

        ''' <summary>
        ''' The minimum quantity of material the item can be disenchanted into
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property MinCount As Integer

        ''' <summary>
        ''' The name of the disenchanted material
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Name As String

        ''' <summary>
        ''' The quality of the disenchanted material
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Quality As Enums.RarityType

        ''' <summary>
        ''' The type of the disenchanted material
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property ItemType As String

        ''' <summary>
        ''' The material the item can be disenchanted into
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public ReadOnly Property Item As ItemInfo
            Get
                Return New ItemInfo(ItemID)
            End Get
        End Property

        ''' <summary>
        ''' A constructor to create the disenchant item
        ''' </summary>
        ''' <param name="drDropRate"></param>
        ''' <param name="strIcon"></param>
        ''' <param name="intID"></param>
        ''' <param name="intLevel"></param>
        ''' <param name="intMaxCount"></param>
        ''' <param name="intMinCount"></param>
        ''' <param name="strName"></param>
        ''' <param name="rQuality"></param>
        ''' <param name="strType"></param>
        ''' <remarks></remarks>
        Public Sub New(ByVal drDropRate As Enums.DropRateType, ByVal strIcon As String, ByVal intID As Integer, ByVal intLevel As Integer, ByVal intMaxCount As Integer, ByVal intMinCount As Integer, ByVal strName As String, ByVal rQuality As Enums.RarityType, ByVal strType As String)
            DropRate = drDropRate
            Icon = strIcon
            ItemID = intID
            Level = intLevel
            MaxCount = intMaxCount
            MinCount = intMinCount
            Name = strName
            Quality = rQuality
            ItemType = strType
        End Sub

    End Class

End Namespace
